/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.pdx.cs.guavadata.query;

import edu.pdx.cs.guavadata.subclass.Cell;

/**
 *
 * @author VuTran
 */
public interface Provider extends Cell {
    SqlText transform(AddColumn ac);
    SqlText transform(AddElement ae);
    SqlText transform(AddTable at);
    SqlText transform(AlterColumnRename acr);
    SqlText transform(AlterElementRename aer);
    SqlText transform(AlterTableRename atr);
    SqlText transform(AntiSemiJoin asj);
    SqlText transform(ApplyOp a);
    SqlText transform(Check ch);
    SqlText transform(CrossJoin cj);
    SqlText transform(Delete d);
    SqlText transform(DropColumn dc);
    SqlText transform(DropElement de);
    SqlText transform(DropTable dt);
    SqlText transform(Except e);
    SqlText transform(Filter op);
    SqlText transform(ForeignKey a);
    SqlText transform(Insert a);
    SqlText transform(Intersect i);
    SqlText transform(Join op);
    SqlText transform(Operator op);
    SqlText transform(PivotOp po);
    SqlText transform(Project p);
    SqlText transform(RowConstant rc);
    SqlText transform(TableRef tr);
    SqlText transform(Union u);
    SqlText transform(UnpivotOp uo);
    SqlText transform(Update u);
}
